package org.zephy.fst;


import org.nustaq.serialization.FSTConfiguration;

/**
 * FST 序列化全称是 Fast Serialization Tool，它是对 Java 序列化的替换实现。既然前文中提到 Java 序列化的两点严重不足，
 * 在 FST 中得到了较大的改善，FST 的特征如下：
 * JDK 提供的序列化提升了 10 倍，体积也减少 3-4 倍多
 * 支持堆外 Maps，和堆外 Maps 的持久化
 * 支持序列化为 JSON
 */
public class FstDemo {
    public static void main(String[] args) {
        serialSample();
    }
    private static void serialSample() {
        FSTConfiguration conf=FSTConfiguration.createAndroidDefaultConfiguration();
        User obj=new User();
        obj.setAge(33);
        obj.setName("张三");
        System.out.println("Serialization:"+obj);
        byte[] bytes=conf.asByteArray(obj);
        User newObj= (User) conf.asObject(bytes);
        System.out.println("deSerialization:"+newObj);
    }
}

